<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        //正则表达式也是对象 主要用于匹配、替换、提取字符串
        //1、通过调用RegExp对象的构造函数创建
        var regexp=new RegExp(/123/)
        //2、利用字面量创建
        var rg=/123/
        console.log(rg.test('abc'));//通过test测试str是否符合
        
        //正则里面的特殊字符
        //1、边界符  ^ $
        var rg=/abc/
        console.log(rg.test('abc'));
        var rg2=/^abc/  //代表必须以abc开头
        var rg3=/abc$/  //代表必须以abc结尾
        console.log(rg3.test('fabc'));

        console.log('----------------');
        //2、字符类
        var rg=/[abc]/  //只要包含a或者b或者c 都返回true
        console.log(rg.test('color'));
        
        console.log('----------------');
        var rg=/^[a-zA-Z0-9_-]{3,6}$/  
        console.log(rg.test('abc123'));

        var rg=/^[^a-zA-Z0-9_-]{3,6}$/  //如果中括号内有^ 表示取反 即不能包含小写、大写数字等
        console.log('----------------');

        //3、量词符
        // *零次或多次 +一次或多次 ？零次或一次
        var rg=/^a*$/
        console.log(rg.test('aaa'));
        //{n} n次 {n,} n到多次  {n,m} n到m次
        console.log('----------------');
        //4、替换
        //在//外加上一个参数
        //  //g 全局匹配 //i忽略大小写 //gi全局匹配并且忽略大小写
        var str='andy和red'
        var newstr=str.replace(/andy/g,'jack')
        console.log(newstr);
        
    </script>
</body>
</html>